﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.IO;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Audio;
using Microsoft.Xna.Framework.Content;
using Microsoft.Xna.Framework.GamerServices;
using Microsoft.Xna.Framework.Graphics;
using Microsoft.Xna.Framework.Input;
using Microsoft.Xna.Framework.Media;
using System.Net;
using System.Net.Sockets;
using System.Threading;
using System.Text;
using System.Runtime.Serialization;
using System.Runtime.Serialization.Formatters.Binary;

namespace peonwar
{
    public abstract class Network // pas instanciable, just pour le modele
    {
        public abstract void Send(RequestType request, object data);

        public abstract Tuple<RequestType, object> Receive();

        public abstract bool AllowReceive { get; set; }

        public abstract void Disconnect(bool gotodisconnectmenu, string message, string detail);

        public abstract int SyncDelay { get; set; }

        public const int FUNCTIONNALPORT = 20611;
    }
}
